package cn.lcl.demo.collection;

import java.util.ArrayList;

/**
 * 用来测试Collections的toArray()和toArray(T [])方法
 * Created by licho on 2017/9/28 0028.
 */
public class CollectionToArray {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        list.add(new Integer(2));
        list.add(new Integer(3));
        list.add(new Integer(4));
        Object[] result=list.toArray();
        //Integer[]=(Object[])list.toArray()，会报错，数组对象之间不能进行类型转换
        System.out.println(result.getClass());//class [Ljava.lang.Object;
        System.out.println(result[0].getClass().getName());//java.lang.Integer
        Integer[] a=new Integer[list.size()];//定义数组长度和集合一样
        Integer[] b=list.toArray(a);//集合元素转化为Integer[]数组
        System.out.println(a==b);//判断是否创建了新的对象.,结果为true
        Integer[] c=new Integer[2];//小于集合长度，这时会创建一个新的Interger【】对象，长度和集合大小一致
        System.out.println(a==c);//结果为false
    }
}
